{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "7fa69ef3-6875-4f45-bd31-92af1f450775",
   "metadata": {},
   "source": [
    "# 课程大纲\n",
    "- 以微调为中心进行辐射"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d607982e-b672-4376-b84a-2a9e50464eb5",
   "metadata": {},
   "source": [
    "## prompt微调\n",
    "- 1天"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f15a139e-f233-408b-b74a-d3d0848609ac",
   "metadata": {},
   "source": [
    "\n",
    "- 调整prompt模板，改变提问的方式，这是相对简单且效果显著的调整方式\n",
    "- 如何制定一个好的prompt模板\n",
    "- 使用prompt处理表格\n",
    "- 使用prompt连接数据库\n",
    "- 使用prompt进行多轮对话\n",
    " "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e150bbfc-7bb0-4625-941b-219479be8fc5",
   "metadata": {},
   "source": [
    "## 机器学习\n",
    "- 1天\n",
    "- 特征工程简介\n",
    "- 树模型介绍"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "de19d379-d672-47f3-a9ac-e9daac18f5a4",
   "metadata": {},
   "source": [
    "## 深度学习\n",
    "- 2天"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "503c9798-319b-472e-b536-352f4c034a39",
   "metadata": {},
   "source": [
    "### 神经网络相关基础\n",
    "- 1天"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e2d444af-6ff1-4ad7-b90d-ebe05df5e5e1",
   "metadata": {},
   "source": [
    "- 模型的定义，结构，组成\n",
    "- 神经网络，参数，层\n",
    "- 线性变换\n",
    "- 矩阵乘法，向量内积，余弦相似度，L2矩阵\n",
    "- 低秩矩阵\n",
    "- CNN,RNN\n",
    "- 神经网络组件：BN,激活函数，dropout,maxpool\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0a66d530-8717-4412-a75f-01cb17872467",
   "metadata": {},
   "source": [
    "### 神经网络的参数调整\n",
    "- 1天\n",
    "- 讲清楚什么是训练，什么是预测，什么参数调整\n",
    "- 全参数调整，以及与后面LLM对应微调的概念"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0725df65-df9d-4bf2-8a47-c05095bea3b8",
   "metadata": {},
   "source": [
    "- 训练，预测\n",
    "  - 训练的流程，调整参数\n",
    "  - 预测的流程，不改变参数\n",
    "  - 模型的优化调整"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "69ec1e66-728d-4f56-b042-7756bc941eef",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "340ce88a-0ca2-4fa6-aca7-94cd0862759b",
   "metadata": {},
   "source": [
    "## transformer\n",
    "- 1天\n",
    "- 概念原理，理解当今的大模型是由何由transformer演变的\n",
    "- 大模型至今仍然在使用的transformer相关概念"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a660a11f-17c9-423f-9e0d-3ca7f72f96ac",
   "metadata": {},
   "source": [
    "- 注意力机制\n",
    "- transformer原理\n",
    "  - 位置编码\n",
    "  - 编码器，解码器\n",
    "  - 多头注意力\n",
    "  - QKV \n",
    "- LLM，ChatGPT系列模型原理"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "abb0789d-da31-4b70-bb63-eacb70eaa12e",
   "metadata": {},
   "source": [
    "## 大模型本地安装部署\n",
    "- 1天\n",
    "- ollama安装qwen2,llama3,gemma\n",
    "- WebUI调用，\n",
    "- python http 调用\n",
    "- 如果时间充足，可讲一下ChatGLM,llama3直接本地安装的方式,如果时间不够，就放到微调部分"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e6dab907-953c-4f94-8f7b-1e2cfe88bc74",
   "metadata": {},
   "source": [
    "## 智能体Agents-项目实战\n",
    "- 2天\n",
    "- 项目实战，侧重于使用prompt处于复杂任务\n",
    "  - 如何在prompt中通过 多轮的 自我反思--调整 完成一个复杂的任务\n",
    "  - 读取多个excel文档并完成统计任务"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8ca2b96e-d671-4278-9cfd-8a396285632c",
   "metadata": {},
   "source": [
    "## 大模型微调LoRA\n",
    "- 2天"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "325aedfa-19a8-4f1f-bfa4-bb7fa5a38dd9",
   "metadata": {},
   "source": [
    "- 1天\n",
    "- 大模型微调概念\n",
    "  - 由模型至大模型的演变，参数量的激增\n",
    "  - 微调全参数调整\n",
    "  - 轻量级微调LoRA，低秩矩阵\n",
    "  - 数据调整\n",
    "    - 微调就是轻量/微小改动后重新训练模型，得到一个更适合自己业务场景的模型 \n",
    "    - 数据集处理，对原始文本类数据处理，使之更符合用户使用的场景\n",
    "    - 数据的格式，数据格式改为相应大模型指定的格式\n",
    "    - 数据风格的转换等\n",
    "    - 新加数据\n",
    "    - 重新加入部分数据，即自己的业务数据，打标签，以供模型训练使用\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8c6b29fc-06e9-4b1c-bddb-bb068a0e0c70",
   "metadata": {},
   "source": [
    "- 微调的前提，本地已部署大模型\n",
    "  - ChatGLM的GPU部署,脚本化预测，重新训练 \n",
    "  - llama3的GPU部署，脚本化预测，重新训练\n",
    "  - "
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
